package com.hllxd.hism.star.basic.service.dao.mapper.mis;

import com.hllxd.hism.star.basic.service.model.smart.TblSmartDqDetailEntity;
import com.hllxd.hism.star.basic.service.model.smart.TblSmartDqEntity;
import com.hllxd.hism.star.basic.service.model.smart.TblSmartQueryEntity;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SmartDqMapper {

    /**
     * 获取表相关信息
     * @param search 搜索内容
     * @return 表-列s
     */
    List<TblSmartDqEntity> selectAllTableInfo(@Param("search") String search);


    /**
     * 获取表相关信息
     * @param search 搜索内容
     * @return 表-列s
     */
    List<TblSmartDqEntity> listLogicTable(@Param("search") String search);

    /**
     * 获取逻辑表
     * @param id 唯一Id
     * @return entity
     */
    TblSmartDqEntity getLogicTable(@Param("id") Long id);

    /**
     * 获取逻辑表
     * @param tableName 表名称
     * @return entity
     */
    TblSmartDqEntity getLogicTableByName(@Param("tableName") String tableName);

    /**
     * 添加逻辑表
     * @param entity 添加实体
     * @return 成功失败
     */
    Long insertLogicTable(TblSmartDqEntity entity);

    /**
     * 添加逻辑表
     * @param entity 添加实体
     * @return 成功失败
     */
    Long updateLogicTable(TblSmartDqEntity entity);

    /**
     * 删除逻辑表
     * @param id 唯一Id
     * @return entity
     */
    void deleteLogicTable(@Param("ids") Long id);

    /**
     * 添加逻辑表
     * @param entity 添加实体
     * @return 成功失败
     */

    Long insertLogicTableDetail(TblSmartDqDetailEntity entity);


    /**
     * 添加逻辑表
     * @param entity 添加实体
     * @return 成功失败
     */
    Long updateLogicTableDetail(TblSmartDqDetailEntity entity);


    /**
     * 删除逻辑表详情
     * @param tableId 唯一表Id
     * @return id
     */
    void deleteLogicTableDetail(@Param("ids") Long tableId);



    /**
     * 获取查询命令相关信息
     * @param search 搜索内容
     * @return 表-列s
     */
    List<TblSmartQueryEntity> listQueryCmd(@Param("search") String search);

    /**
     * 获取查询命令
     * @param id 唯一Id
     * @return entity
     */
    TblSmartQueryEntity getQueryCmd(@Param("id") Long id);

    /**
     * 获取查询命令
     * @param code 编码
     * @return entity
     */
    TblSmartQueryEntity getQueryCmdByCode(@Param("code") String code);

    /**
     * 添加逻辑表
     * @param entity 添加实体
     * @return 成功失败
     */
    Long insertQueryCmd(TblSmartQueryEntity entity);

    /**
     * 更新查询命令
     * @param entity 添加实体
     * @return 成功失败
     */
    Long updateQueryCmd(TblSmartQueryEntity entity);



    /**
     * 删除查询命令
     * @param id 唯一Id
     * @return entity
     */
    void deleteQueryCmd(@Param("ids") Long id);




}
